"""
使用 Chrome 无界面模式
打开百度, 输入 Python 回车
打印页面源码, 当前 url 和 cookies
"""
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium.common.exceptions import TimeoutException, NoSuchElementException # 还有更多的异常可以用
import time


def rest(sec):
    time.sleep(sec)

if __name__ == '__main__':
    # Chrome 的无界面模式
    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument('--headless')
    browser = webdriver.Chrome(chrome_options = chrome_options)
    # browser = webdriver.Chrome()
    try:
        url = 'https://www.baidu.com'
        browser.get(url)
        input = browser.find_element_by_id('kw') # 以 id 查找元素
        input.send_keys('Python') # 发送 Python 给元素
        input.send_keys(Keys.ENTER) # 发送回车给元素
        wait = WebDriverWait(browser, 10)
        # 当 id 为 content_left 的元素展现出来后, 结束等待
        wait.until(EC.presence_of_element_located((By.ID, 'content_left')))

        print(browser.page_source)
        print(browser.current_url)
        print(browser.get_cookies())
    finally:
        browser.close()